home *** CD-ROM | disk | FTP | other *** search
- ======================================================================
- Guidelines for the use of the /usr/share filesystem
-
- Prepared by Mark Callow (msc@sgi.com)
-
- Introduction
- ------------
-
- Shortly before IRIX 5.2 MR'ed, I discovered that it was impossible to
- install the insight client software when your /usr/share is mounted
- from another host. The priority 1 bug I filed was made an exception
- with the comments that a) the release notes should say that we do not
- yet fully support /usr/share and b) we should publish some guidelines
- about /usr/share for the benefit of our internal developers.
-
- Since I don't think anyone else is writing any guidelines and since I
- have a bit of time right now, I decided to do it. I'm forwarding this
- to Tom Murphy for inclusion in whatever internal guide he feels is
- appropriate.
-
- I welcome comments and additions to these guidelines.
-
- Purpose Of /usr/share
- ---------------------
-
- /usr/share is intended as a repository for machine independent
- executables and data files which can be shared between hosts by
- cross mounting the entire directory. The main goal in inventing it
- was to reduce the amount of disk spaced required on the local host.
- It meets this goal principally by making it easy to nfs mount this
- huge amount of data.
-
- Prime candidates for inclusion in /usr/share are things like the
- Insight books, the man pages, and the huge files of clip data for
- applications such as Inventor, Explorer, Showcase and the digital media
- tools.
-
- It is important to note that /usr/share will typically be mounted read-only.
-
-
- Guidelines
- ----------
-
- Given the purpose, three prime requirements become immediately
- obvious.
-
- 1. A software product planning to install files in /usr/share must
- put those files in a separate subsystem and at least the description
- of that subsystem must say that it installs in /usr/share.
-
- 2. A product must never have hard prerequisites on something in
- /usr/share because, on a machine with a mounted /usr/share, inst
- will not be able to tell that the prerequisite software is present.
-
- 3. A product must never use /usr/share for any file intended to be
- written to in the normal course of the product's operation.
-
- If these requirements are met, a product will be fully /usr/share
- friendly.
-
- Number 3 raises the issue of where to put items that are to be available
- for collaborative update. Examples of these items are annotations for the
- Insight books, adapted templates for speech recognition and
- collaborative databases such as cdman's music catalog. Since many sites
- want to mount the entire /usr partition read-only these items should not
- be put anywhere in /usr. Such items should be placed in /var/public.
- Each product should have its own subdirectory (e.g. /var/public/Insight).
-
-
-